package com.foreknow.service;

import com.foreknow.entity.Rule;
import com.foreknow.entity.Scheduling;

import java.util.List;
import java.util.Map;

public interface SchedulingService {
    /**
     * 根据id删除（物理删除）
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Integer id);
    /**
     * 根据条件删除排班信息(逻辑删除)
     * @param starttime
     * @param deptid
     * @return
     */
    int deleteByConditionByLogic(String starttime,Integer deptid);

    /**
     * 添加一个或多个规则
     * @param starttime
     * @param overtime
     * @param ruleList
     * @return
     */
    int insert(String starttime,String overtime,List<Rule> ruleList);

    /**
     * 根据id查询
     * @param id
     * @return
     */
    Scheduling selectByPrimaryKey(Integer id);

    /**
     * 根据条件查询排班信息
     * @param starttime
     * @param overtime
     * @param deptid
     * @return
     */
    List<Scheduling> selectByCondition(String starttime,String overtime,Integer deptid);
    /**
     * 根据record更新
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(Scheduling record);
    /**
     * 根据record更新
     * @param record
     * @return
     */
    int updateByPrimaryKey(Scheduling record);
}
